layui.use(['table', 'jquery', 'form','laydate'], function () {
    var table = layui.table;
    var form = layui.form;
    var $ = layui.$;//重点处
    //渲染时间控件
    const laydate = layui.laydate;
    var start = laydate.render({
        elem: '#starttime',
        type: 'date',
        max: new Date().valueOf(),
        btns: ['clear', 'confirm'],
        done: function(value, date){
            endMax = end.config.max;
            end.config.min = date;
            end.config.min.month = date.month -1;
        }
    });
    var end = laydate.render({
        elem: '#endtime',
        type: 'date',
        max: new Date().valueOf(),
        done: function(value, date){
            if($.trim(value) == ''){
                var curDate = new Date();
                date = {'date': curDate.getTime(), 'month': curDate.getMonth()+1, 'year': curDate.getFullYear()};
            }
            start.config.max = date;
            start.config.max.month = date.month -1;
        }
    })
    //第一个实例
    table.render({
        elem: '#demo' //对应表格元素
        , id: 'test'
        , height: 558
        , url: ctx + '/costControl/selectByMap' //数据接口,默认会带？page=1,limit=10,返回的数据有格式要求
        , method: 'post'
        , even: true //开启隔行背景
        , page: true //开启分页
        , totalRow: true//开启合计行
        , cols: [[ //表头
            {field: 'id', title: '序号', width: 80, align: 'center', sort: true, fixed: 'left', totalRowText: '合计：'}
            , {field: 'costName', title: '成本名称', width: 120, align: 'center'}
            , {field: 'costNum', title: '成本数量', width: 120, align: 'center', sort: true}
            , {field: 'costPrice', title: '成本价格', width: 120, align: 'center'}
            , {field: 'sumPrice', title: '总价', width: 120, align: 'center', totalRow: true, sort: true}
            , {field: 'purchaseTime', title: '购买时间', width: 160, align: 'center', sort: true}
            , {field: 'buyer', title: '购买人', width: 120, align: 'center'}
            , {fixed: 'right', title: '操作', width: 240, align: 'center', toolbar: '#barDemo'} //这里的toolbar绑定工具条
        ]]
    });

    //监听工具条
    table.on('tool(test)', function (obj) { //注：tool是工具条事件名，test是table lay-filter="对应的值"
        var data = obj.data; //获得当前行数据
        var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
        var tr = obj.tr; //获得当前行 tr 的DOM对象

        if (layEvent === 'del') { //删除
            layer.confirm('确定删除 ' + data.costName + " 的信息吗？", {offset: ['150px']}, function (index) {
                obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                layer.close(index);
                //向服务端发送删除指令
                $.ajax({
                    type: 'POST',
                    url: ctx + '/costControl/deleteCost?id=' + data.id,
                    dataType: 'json',
                    /*data : {
                        'uuid' : data.uuid
                    },*/
                    success: function (e) {
                        //e为后台返回的数据
                        console.log("删除", e)
                        if (e.code == "0") {
                            layer.msg(e.msg);
                        } else {
                            layer.msg(e.msg);
                        }
                    },
                    error: function () {
                        layer.msg("服务器开小差了，请稍后再试...");
                    }
                });
            });
        } else if (layEvent === 'edit') { //编辑
            //弹出层处理
            layer.open({
                type: 2, //2表示frame
                title: '编辑成本信息',
                area: ['500px', '75%'],
                shadeClose: false,
                closeBtn: 1,
                offset: 't',
                content: ctx + '/pages/pigeons/addOrUpdateCost.jsp?id=' + data.id,
                end: function () {
                    table.reload('test'); //对应table.render中定义的id
                }
            });
        }
    });

    //新增按钮点击事件
    $("#add").bind("click", function () {
        //弹出层处理
        layer.open({
            type: 2, //2表示frame
            title: '添加成本信息',
            area: ['500px', '75%'],
            shadeClose: false,
            closeBtn: 1,
            content: ctx + '/pages/pigeons/addOrUpdateCost.jsp',
            end: function () {
                table.reload('test'); //对应table.render中定义的id
            }
        });
    });

    //搜索功能
    $('#search-button').on('click', function () {
        //执行重载
        table.reload('test', {
            page: {
                curr: 1 //重新从第 1 页开始
            },
            where: {
                'costName': $('#costName').val(),
                'buyer': $('#buyer').val(),
                'starttime':$('#starttime').val(),
                'endtime':$('#endtime').val()
            }
        });
    });

    //日期时间选择器
    laydate.render({
        elem: '#starttime'
        , type: 'date'//默认时间格式，可以不写。
        , trigger: 'click'//呼出事件改成click
        , format: 'yyyy-MM-dd' //可任意组合
    });
    laydate.render({
        elem: '#endtime'
        , type: 'datetime'//默认时间格式，可以不写。
        , trigger: 'click'//呼出事件改成click
        , format: 'yyyy-MM-dd' //可任意组合
    });
});
